/**
 *
 * @param {string} file 文件对象
 * @param {'text'|'Base64'|'BinaryString'|'ArrayBuffer'} type 解析文件类型
 * @returns 解析结果
 */
export function getFileReader(file, type) {
  return new Promise(async (resolve, reject) => {
    // 获取文件
    const reader = new FileReader();
    // 设置回调
    reader.onload = function (evt) {
      resolve(evt.target.result);
    };
    // 监听错误
    reader.onerror = function (evt) {
      reject(evt);
    };

    // 根据类型选择不同的 读取方式
    switch (type) {
      case 'Base64':
        reader.readAsDataURL(file);
        break;
      case 'BinaryString':
        reader.readAsBinaryString(file);
        break;
      case 'ArrayBuffer':
        reader.readAsArrayBuffer(file);
        break;
      default:
        reader.readAsText(file);
        break;
    }
  });
}
